// Copyright © SixtyFPS GmbH <info@slint.dev>
// SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-1.2 OR LicenseRef-Slint-commercial

TestCase := Rectangle {
    property<int> hello: 44;

    property<bool> t1: hello == 44 || hello == 45;
    property<bool> t2: hello > 44 && hello < 46;
    property<bool> t3: hello >= 44 && hello <= 46;
    property<bool> t4: t1 || (t2 && t3);
    property<bool> t5: t2 || hello + 3 != 4*10+4;
    property<bool> t6: !t1 || 1 == 0;

    property<string> my_str: "hello";
    property<bool> t7: my_str == "hello";
}
/*
```cpp
auto handle = TestCase::create();
const TestCase &instance = *handle;
assert_eq(instance.get_t1(), true);
assert_eq(instance.get_t2(), false);
assert_eq(instance.get_t3(), true);
assert_eq(instance.get_t4(), true);
assert_eq(instance.get_t5(), true);
assert_eq(instance.get_t6(), false);
assert_eq(instance.get_t7(), true);

instance.set_hello(45);
assert_eq(instance.get_t1(), true);
assert_eq(instance.get_t2(), true);
assert_eq(instance.get_t3(), true);
assert_eq(instance.get_t4(), true);
assert_eq(instance.get_t5(), true);
assert_eq(instance.get_t6(), false);

instance.set_hello(46);
assert_eq(instance.get_t1(), false);
assert_eq(instance.get_t2(), false);
assert_eq(instance.get_t3(), true);
assert_eq(instance.get_t4(), false);
assert_eq(instance.get_t5(), true);
assert_eq(instance.get_t6(), true);

instance.set_hello(47);
assert_eq(instance.get_t1(), false);
assert_eq(instance.get_t2(), false);
assert_eq(instance.get_t3(), false);
assert_eq(instance.get_t4(), false);
assert_eq(instance.get_t5(), true);
assert_eq(instance.get_t6(), true);

instance.set_hello(41);
assert_eq(instance.get_t1(), false);
assert_eq(instance.get_t2(), false);
assert_eq(instance.get_t3(), false);
assert_eq(instance.get_t4(), false);
assert_eq(instance.get_t5(), false);
assert_eq(instance.get_t6(), true);

```


```rust
let instance = TestCase::new().unwrap();

assert_eq!(instance.get_t1(), true);
assert_eq!(instance.get_t2(), false);
assert_eq!(instance.get_t3(), true);
assert_eq!(instance.get_t4(), true);
assert_eq!(instance.get_t5(), true);
assert_eq!(instance.get_t6(), false);
assert_eq!(instance.get_t7(), true);

instance.set_hello(45);
assert_eq!(instance.get_t1(), true);
assert_eq!(instance.get_t2(), true);
assert_eq!(instance.get_t3(), true);
assert_eq!(instance.get_t4(), true);
assert_eq!(instance.get_t5(), true);
assert_eq!(instance.get_t6(), false);

instance.set_hello(46);
assert_eq!(instance.get_t1(), false);
assert_eq!(instance.get_t2(), false);
assert_eq!(instance.get_t3(), true);
assert_eq!(instance.get_t4(), false);
assert_eq!(instance.get_t5(), true);
assert_eq!(instance.get_t6(), true);

instance.set_hello(47);
assert_eq!(instance.get_t1(), false);
assert_eq!(instance.get_t2(), false);
assert_eq!(instance.get_t3(), false);
assert_eq!(instance.get_t4(), false);
assert_eq!(instance.get_t5(), true);
assert_eq!(instance.get_t6(), true);

instance.set_hello(41);
assert_eq!(instance.get_t1(), false);
assert_eq!(instance.get_t2(), false);
assert_eq!(instance.get_t3(), false);
assert_eq!(instance.get_t4(), false);
assert_eq!(instance.get_t5(), false);
assert_eq!(instance.get_t6(), true);

```

```js
var instance = new slint.TestCase({});
assert.equal(instance.t1, true);
assert.equal(instance.t2, false);
assert.equal(instance.t3, true);
assert.equal(instance.t4, true);
assert.equal(instance.t5, true);
assert.equal(instance.t6, false);
assert.equal(instance.t7, true);

instance.hello = 45;
assert.equal(instance.t1, true);
assert.equal(instance.t2, true);
assert.equal(instance.t3, true);
assert.equal(instance.t4, true);
assert.equal(instance.t5, true);
assert.equal(instance.t6, false);

instance.hello = 46;
assert.equal(instance.t1, false);
assert.equal(instance.t2, false);
assert.equal(instance.t3, true);
assert.equal(instance.t4, false);
assert.equal(instance.t5, true);
assert.equal(instance.t6, true);

instance.hello = 47;
assert.equal(instance.t1, false);
assert.equal(instance.t2, false);
assert.equal(instance.t3, false);
assert.equal(instance.t4, false);
assert.equal(instance.t5, true);
assert.equal(instance.t6, true);

instance.hello = 41;
assert.equal(instance.t1, false);
assert.equal(instance.t2, false);
assert.equal(instance.t3, false);
assert.equal(instance.t4, false);
assert.equal(instance.t5, false);
assert.equal(instance.t6, true);
```
*/
